/*1. 题目：统计文本文件的行数
要求：编写程序，打开指定文本文件（如 "input.txt"），统计文件中的行数
（每行以换行符 '\n' 分隔，最后一行若没有换行符也算一行），并将结果输出到屏幕。
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    FILE *fp;
    char filename[]="input.txt";
    char ch;
    int line_count=0;
    fp=fopen(filename,"r");
    if(fp==NULL){//文件打开失败
        printf(" Error opening file %s\n",filename);
        return 1;
    }
    
    while(ch=fgetc(fp),ch!=EOF){//逐字符读取文件直到文件结束
        if(ch=='\n'){
            line_count++;
        }
    }
    if(ch!='\n' && line_count!=0){//文件不为空且第一行不是换行符
        line_count++;
    }

    printf("The file %s has %d lines.\n",filename,line_count);//输出行数
    fclose(fp);
    return 0;

}